1. Field of the Invention
The invention relates to networks. Specifically, the invention relates to apparatus, systems, and methods for configuring a network feature for a network fabric.
2. Description of the Related Art
The ability to connect various devices in a network such that the devices can share information is widely relied on. The Internet, for example, is a collection of computer devices connected to each other such that users throughout the world can share information with each other. The design and configuration of such networks is a specialized task that may require specific education and expertise. Automating the process of configuring a network is desirable since automation reduces the time and expense of configuring and maintaining a network.
FIG. 1 illustrates a conventional network 100. The network comprises host data processors 102, herein referred to as hosts 102, devices 104, a network fabric 106, physical couplings 108, and data interfaces 112. Hosts 102 typically provide a service or application to one or more devices 104. For example, services and applications include an Internet web server, a network fileserver, a security server, and the like.
Devices 104 typically access services provided by hosts 102. A personal computer executing a web browser is an example of a device 104 that accesses services provided by a web server serving as a host 102. Devices 104 may also provide resources to a host 102. For example, tape drives, RAID arrays, and hard drives are devices 104 that provides storage resources to a host 102.
The network fabric 106 comprises one or more switches 110 coupled to each other by a physical coupling 108. The physical coupling 108 comprises a wireless link, copper cable, or fiber optic cable. Switches 110 are coupled to hosts 102 and devices 104 by data interfaces 112. The term switch 110 is used generically herein to refer to a switch, router, bridge, hub, or other network interconnect device. The network fabric 106 includes data interfaces 112, logical communication paths that use various protocols to communicate over the physical coupling 108, that couple the network fabric 106 to either a host 102 or a device 104. Example protocols that can be used by the data interface 112 include Fibre Channel, Ethernet, Internet Protocol (IP), and the like.
The network fabric 106 enables a host 102 to communicate with any other host 102 or any device 104 connected to the network fabric 106. Similarly, the network fabric 106 enables a device 104 to communicate with any other device 104 or host 102 connected to the network fabric 106. This many to many connectivity enables sharing of information among the hosts 102 and devices 104 of the network 100.
The number and arrangement of physical couplings 108 connecting switches 110 to each other may comprise various topologies. The network fabric 106 can comprise switches 110 manufactured by one vendor, resulting in a homogenous network fabric 106. Alternatively, the network fabric 106 can comprise switches 110 from two or more vendors, resulting in a heterogeneous network fabric 106.
The switches 110 enable the network fabric 106 to provide one or more network features. For example, certain switches 110 allow the bandwidth of the network fabric's data interfaces 112 to be adjusted. This bandwidth adjustment feature enables an operator to configure some data interfaces 112 to operate with higher bandwidth than other data interfaces 112 in an effort to minimize congestion within the network fabric 106. An additional feature may restrict communication between certain hosts 102 and certain devices 104. For example, the switches 110 may prevent a particular host 102 from communicating with all but one device 104 to provide some level of security.
A network administrator typically configures the switches 110 to provide the features described above or other features well known to those of skill in the art. A network feature configuration 118 stores the configuration of one or more switch features on the switch 110. The network feature configuration 118 can comprise a file or data stored in memory of the switch 110.
The network administrator generally configures a switch 110 using a management agent 114 (herein referred to as an agent 114). An out-of-band management interface 116 couples the agent 114 to a switch 110. The agent 114 provides the network administrator with a set of commands or a graphical user interface (GUI) for configuring a switch 110. There may be one agent 114 associated with each management interface 116.
The management interface 116 conveys configuration information to the switch 110. The switch 110 stores the configuration information in a network feature configuration 118. The data interface 112 transfers data between a host 102 or device 104 and a switch 110. Typically, the agent 114 does not use the management interface 116 to transfer data between the agent 114 and the switch 110. Conventional data interfaces 112 do not convey configuration information to the switch 110.
Out-of-band management interfaces 116 connect an agent 114 to a switch 110 over a physical coupling 108. The agent 114 and switch 110 use the physical coupling 108 as an out-of-band management interface 116 (illustrated in FIGS. 1-2 as lightning bolts) rather than using the physical coupling 108 as a data interface 112. Out-of-band management interfaces 116 typically use the IP protocol for communication between the switch 110 and the agent 114.
The management interface 116 uses a particular syntax and available parameter set for configuration. Some standards, such as Fibre Channel GS-3 and Simple Network Management Protocool (SNMP) Management Information Bases (MIBs), provide a consistent management interface 116 among switches 110 in heterogeneous network fabrics 106. However, typically each switch vendor implements an Application Programmer Interface (API) comprising a different syntax and different available parameter set. Heterogeneous networks are challenging to configure since the management interface 116 for each switch vendor's switches 110 in the network fabric 106 may be substantially different. An agent 114 configures each switch 110 by presenting commands in a format that the switch 110 understands.
In some network fabrics 106, such as Fibre Channel Storage Area Networks (SANs), once the management interface 116 configures a single switch 110 in the network fabric 106, the switch 110 communicates the network feature configuration 118 to the other switches 110 that comprise the network fabric 106 using standards-based methods. In this manner, a network administrator can configure the entire network fabric 106 by configuring a single switch 110.
Configuring a network fabric 106 is challenging since a network administrator needs to know which management interfaces 116 and agents 114 are available and which of those management interfaces 116 are active. The network administrator must then select an agent 114 to configure the network fabric 106 and remember the syntax and parameter set for the switch 110 coupled to the agent 114. This method of configuring a network fabric 106 is error prone because the method places so many demands on the network administrator. An automated method is desirable that saves the network administrator time and produces a consistent, error free configuration of the network fabric 106.
A Storage Area Network (SAN) is a particular example of the conventional network 100 illustrated in FIG. 1. A SAN 100 comprises hosts 102 that communicate with storage devices 104 through a SAN fabric 106. The storage devices are one example of a device 104 (described above). A storage device 104 may be a disk drive, tape drive, disk array, or other storage device. The SAN fabric 106 is one example of a network fabric 106 as described above. Hosts 102 access storage devices 104 through the SAN fabric 106.
Zone control is a common network feature for a SAN fabric 106. Zone control defines logical zones that restrict communication between hosts 102 and storage devices 104. For example, in FIG. 1, two zones 120,122 segment the hosts 102 and the devices 104. A first zone 120 comprises the leftmost host 104, the SAN fabric 106, and the leftmost storage device 104. A second zone 122 comprises the middle and right hosts 102, the SAN fabric 106, and the middle and right storage devices 104. Since the leftmost host 102 is in the first zone 120, zone control prevents the leftmost host 102 from communicating with the other hosts 102 or with the middle or rightmost storage devices 104. A physical path exists, but zone control presents a logical barrier to the communication
A network administrator implements separate zones 120,122 by configuring the switches 110 of the SAN fabric 106 with a membership list for each zone 120,122. The membership list specifies which hosts 102 and storage devices 104 are members of each zone. The switches 110 allow communication between hosts 102 and storage devices 104 in the same zone 120,122 and prevent communication between hosts 102 and storage devices 104 of different same zones 120,122. Hosts 102 and storage devices 104 may be members of more than one zone 120,122.
In addition to configuring zone membership, the network administrator can configure a switch 110 with other zone control features. These features may include active and inactive zones, hard or soft zone control, and the use of aliases when identifying zone membership. The availability of these features varies among switch vendors. The network administrator typically considers the availability of these features when selecting an agent 114 to configure the SAN fabric 106. To optimally select an agent 114, the network administrator is expected to have detailed knowledge of the availability and supported feature set of each agent 114 coupled to the SAN fabric 106. Requiring the network administrator to acquire and properly use this detailed knowledge is error prone and time consuming.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method that configures a network feature for a network fabric 106 by receiving a network feature configuration 118 from a network administrator, determining the network feature capabilities of each agent 114, selecting a preferred agent, and applying the network feature configuration 118 using the preferred agent. Beneficially, such an apparatus, system, and method would reduce the number of errors in network feature configurations 118 and drastically reduce the amount of time spent configuring a network fabric 106.